package top.gangster.lunan.contractservice.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
import top.gangster.lunan.contractservice.entity.Contract;
import top.gangster.lunan.contractservice.entity.ContractField;
import top.gangster.lunan.contractservice.mapper.ContractFieldMapper;
import top.gangster.lunan.contractservice.service.ContractFieldService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 用于存储该合同中每一个字段的真实值。
该表对应多个合同 服务实现类
 * </p>
 *
 * @author kid
 * @since 2021-11-11
 */
@Service
public class ContractFieldServiceImpl extends ServiceImpl<ContractFieldMapper, ContractField> implements ContractFieldService {

	/**
	 * 根据指定的合同id获取其所有字段
	 *
	 * @param id 合同id
	 * @return 其所属字段
	 */
	@Override
	public List<ContractField> getFieldsOfContract(String id) {
		QueryWrapper<ContractField> wrapper = new QueryWrapper<>();
		wrapper.eq("contract_id",id);
		return this.list(wrapper);
	}

	/**
	 * 根据指定的合同对象获取其所有字段
	 *
	 * @param contract 合同对象
	 * @return 其所属字段
	 */
	@Override
	public List<ContractField> getFieldsOfContract(Contract contract) {
		return this.getFieldsOfContract(contract.getId());
	}
}
